//
//  UITableView+YYJ_TableViewRefresh.m
//  YYJ_
//
//  Created by Lonely丶晏袁杰 on 2017/11/27.
//

#import "YYJTableViewRefresh.h"

#import "YYJ_RefreshGifHeader.h"
#import "YYJ_RefreshNormalHeader.h"
#import "YYJ_RefreshBackNormalFooter.h"
@implementation UIScrollView (YYJTableViewRefresh)
/**
 *  添加一个下拉刷新头部控件
 *
 *  @param callback 回调
 */
-(void)YYJ_addHeaderWithCallback:(void (^)(void))callback{
   self.mj_header = [YYJ_RefreshNormalHeader headerWithRefreshingBlock:^{
        dispatch_async(dispatch_get_main_queue(), ^{
            // 更新界面
            callback();
        });
    }];
}
-(void)YYJ_addGIFHeaderWithCallback:(void (^)(void))callback{
    self.mj_header = [YYJ_RefreshGifHeader YYJ_headerWithRefreshingBlock:^{
        dispatch_async(dispatch_get_main_queue(), ^{
            // 更新界面
            callback();
        });
    }];
}
/**
 *  移除下拉刷新头部控件
 */
- (void)YYJ_removeHeader{
    [self.mj_header removeFromSuperview];
    self.mj_header = nil;
}
/**
 *  主动让下拉刷新头部控件进入刷新状态
 */
- (void)YYJ_headerBeginRefreshing{
    [self.mj_header beginRefreshing];
}
/**
 *  让下拉刷新头部控件停止刷新状态
 */
- (void)YYJ_headerEndRefreshing{
    [self.mj_header endRefreshing];
}

-(void)YYJ_endRefreshing{
    [self.mj_header endRefreshing];
    [self.mj_footer endRefreshing];
}
/**
 *  是否正在下拉刷新
 */
-(BOOL)YYJ_headerRefreshing{
    return self.mj_header.isRefreshing;
}

#pragma mark - 上拉刷新
/**
 *  添加一个上拉刷新尾部控件
 *
 *  @param callback 回调
 */
- (void)YYJ_addFooterWithCallback:(void (^)(void))callback{
    self.mj_footer = [YYJ_RefreshBackNormalFooter footerWithRefreshingBlock:^{
        callback();
    }];
}
/**
 *  移除上拉刷新尾部控件
 */
- (void)YYJ_removeFooter{
    [self.mj_footer removeFromSuperview];
    self.mj_footer = nil;
}
/**
 *  主动让上拉刷新尾部控件进入刷新状态
 */
- (void)YYJ_footerBeginRefreshing{
    [self.mj_footer beginRefreshing];
}
/**
 *  让上拉刷新尾部控件停止刷新状态
 */
- (void)YYJ_footerEndRefreshing{
    [self.mj_footer endRefreshing];
}
/**
 *  是否正在上拉刷新
 */
-(BOOL)YYJ_footerRefreshing{
    return self.mj_footer.isRefreshing;
}
@end
